package com.yekaile.carsystem.service;

import com.yekaile.carsystem.controller.vo.MenuVO;
import com.yekaile.carsystem.controller.vo.PermissionVO;
import com.yekaile.carsystem.controller.vo.UserVO;
import com.yekaile.carsystem.entity.Role;
import com.yekaile.carsystem.entity.SystemAuthority;
import com.yekaile.carsystem.entity.User;

import java.util.List;
import java.util.Set;

/**
 * @author yekaile
 */
public interface UserService {


    User getUser(String username);


    List<Role> getRoles(Integer userId);


    User getUser(Integer userId);

    Set<String> getRoleNames(Integer userId);

    Set<SystemAuthority> getAuthorities(Integer userId);

    Set<String> getAuthorityNames(Integer userId);

    List<PermissionVO> getPermissionVOS(Integer userId);

    Set<MenuVO> getMenuVOS(Integer userId);

    Set<MenuVO> getAllMenuVO();

    List<User> getAllUser();

    Integer addUser(UserVO userVO);

    Integer updateUser(UserVO userVO);

    Integer deleteUser(Integer userId);


}
